﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/Bankeren.Engine" />
  <xs:import namespace="http://schemas.datacontract.org/2004/07/Bankeren.Engine.Cards" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:element name="Join">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/Bankeren.Engine" minOccurs="0" name="info" nillable="true" type="q1:PlayerInfo" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="JoinResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="JoinResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ChangeInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/Bankeren.Engine" minOccurs="0" name="info" nillable="true" type="q2:PlayerInfo" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="MakeBid">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="bid" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PlayCard">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Bankeren.Engine.Cards" minOccurs="0" name="card" nillable="true" type="q3:Card" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PlayCardResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="PlayCardResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BroadcastChat">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="message" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Leave">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="Welcome">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="seat" type="xs:int" />
        <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="players" nillable="true" type="q4:ArrayOfKeyValueOfintPlayerInfoB6Xrw_SmT" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PlayerJoined">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="seat" type="xs:int" />
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/Bankeren.Engine" minOccurs="0" name="info" nillable="true" type="q5:PlayerInfo" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PlayerInfoChanged">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="seat" type="xs:int" />
        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/Bankeren.Engine" minOccurs="0" name="info" nillable="true" type="q6:PlayerInfo" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PlayerLeft">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="seat" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GameStarted">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="DealCards">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/Bankeren.Engine.Cards" minOccurs="0" name="cards" nillable="true" type="q7:ArrayOfCard" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RoundStarted">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="roundNumber" type="xs:int" />
        <xs:element minOccurs="0" name="numCards" type="xs:int" />
        <xs:element minOccurs="0" name="dealerSeat" type="xs:int" />
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/Bankeren.Engine.Cards" minOccurs="0" name="trump" nillable="true" type="q8:Card" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Bids">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="bids" nillable="true" type="q9:ArrayOfKeyValueOfintint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TrickStarted">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="trickNumber" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Turn">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="seat" type="xs:int" />
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/Bankeren.Engine.Cards" minOccurs="0" name="followSuit" nillable="true" type="q10:Suit" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CardPlayed">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="seat" type="xs:int" />
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/Bankeren.Engine.Cards" minOccurs="0" name="card" nillable="true" type="q11:Card" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TrickEnded">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="winner" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RoundEnded">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="points" nillable="true" type="q12:ArrayOfKeyValueOfintint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GameEnded">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="winner" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Chat">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="seat" type="xs:int" />
        <xs:element minOccurs="0" name="message" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ServerStopped">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="message" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>